package factory

import dto.req.QueryOrderReqDTO
import dto.resp.QueryOrderRespDTO

trait QueryAction {

  def checkParams[T <: QueryOrderReqDTO](req: T): Unit

  @throws[Exception]
  def query[T <: QueryOrderReqDTO, R <: QueryOrderRespDTO](req: T, resp: R): R

  @throws[Exception]
  def refundQuery[T <: QueryOrderReqDTO, R <: QueryOrderRespDTO](req: T, resp: R): R

  def setProperties(bizCode: String): Unit

  def getPayChannel: Integer

}
